package com.brave.base;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Map;

/**
 * PackageName:com.nodiot.v1
 * CreateTime:2019/5/17 -14:39
 * Author:BraveKing
 * Params:
 **/
public class BaseController
{
    private static final Map<String, Object> dataMap = new HashMap<>(1);

    /**
     * 2019年1月5日 11:47:16
     * 渲染JSON格式数据
     * @return
     */
    public String success()
    {
        return this.success("");
    }

    /**
     * 2019年5月20日 10:35:16
     * 渲染JSON格式数据
     * @param obj
     * @return
     */
    public String success(Object obj)
    {
        Map<String, Object> resultMap = new HashMap<>(4);
        resultMap.put("code", 200);
        resultMap.put("msg", "操作成功");
        resultMap.put("data", obj);
        return JSONObject.toJSONString(resultMap);
    }

    /**
     * 2019年6月4日 11:32:31
     *
     * @param parameterMap
     * key : 参数名
     * value : 参数错误信息
     * @return
     */
    public String badParameter(Map<String, String> parameterMap)
    {
        Map<String, Object> resultMap = new HashMap<>(4);
        resultMap.put("code", 300);
        resultMap.put("msg", "调用参数错误");
        resultMap.put("data", parameterMap);
        return JSONObject.toJSONString(resultMap);
    }

    /**
     * 2019年5月18日 17:37:59
     * Token不合法
     * @return
     */
    public String tokenBadRequest()
    {
        Map<String, Object> paramMap = new HashMap<>(2);
        paramMap.put("token", "Token参数不合法");
        return this.customResultMsg(100, "会话过期", paramMap);
    }

    /**
     * 2019年1月10日 09:58:25
     * 返回自定义消息
     * @param code
     * @param msg
     * @param data
     * @return
     */
    public String customResultMsg(int code, String msg, Map<String, ? extends Object> data)
    {
        Map<String, Object> resultMap = new HashMap<>(4);
        resultMap.put("code", code);
        resultMap.put("msg", msg);
        resultMap.put("data", data == null ? dataMap : data);
        return JSONObject.toJSONString(resultMap);
    }
    
}